<?php
/**
 * Controller is the customized base controller class.
 * All controller classes for this application should extend from this base class.
 */
class AController extends CController
{
	/**
	 * @var string the default layout for the controller view. Defaults to '//layouts/column1',
	 * meaning using a single column layout. See 'protected/views/layouts/column1.php'.
	 */
	public $layout='//layouts/main';
	/**
	 * @var array context menu items. This property will be assigned to {@link CMenu::items}.
	 */
	public $menu=array();
	/**
	 * @var array the breadcrumbs of the current page. The value of this property will
	 * be assigned to {@link CBreadcrumbs::links}. Please refer to {@link CBreadcrumbs::links}
	 * for more details on how to specify this property.
	 */
	public $breadcrumbs;
	public $defaultAction = 'list';

	protected function beforeAction($action){
		$currentModule = $this->getModule();
		$breadcrumbs = $this->getModuleLink($currentModule);
		$breadcrumbs[Yii::t('core', Yii::app()->controller->id)] = end($breadcrumbs).'/'.Yii::app()->controller->id;
		$breadcrumbs[Yii::t('core', Yii::app()->controller->action->id)] = null;
			end($breadcrumbs).'/'.Yii::app()->controller->action->id;
		$this->breadcrumbs = $breadcrumbs;
		$action->run();
	}

	/**
	 * Генереирует запущеных модулей для CBreadcrumbs (Параметр links)
	 * @param CWebModule $module
	 * @param array $breadcrumbs
	 * @return array
	 */
	private function getModuleLink($module, $breadcrumbs=array()){
		if($module->getParentModule()!==null){
			$breadcrumbs = $this->getModuleLink($module->getParentModule());
		}
		$breadcrumbs[Yii::t('core', $module->getName())] = end($breadcrumbs).'/'.$module->getName();
		return $breadcrumbs;
	}
}